package vue;

import java.awt.BorderLayout;
import java.text.NumberFormat;
import javax.swing.JFormattedTextField;
import javax.swing.JLabel;
import javax.swing.JPanel;
import javax.swing.JTextField;

/**
 * vue d'un champ de configuration du t�l�chargement
 *
 */
public class SettingsTextView extends JPanel {
	
	private static final long serialVersionUID = 1L;
	
	/**
	 * champ de saisie
	 */
	private JTextField field;
	
	/**
	 * label du champ
	 */
	private JLabel label;
	
	/**
	 * constructeur
	 * @param s nom de la donn�e
	 * @param onlyNumber true si la donn�e doit �tre un nombre
	 */
	public SettingsTextView(String s, boolean onlyNumber) {
		super(new BorderLayout());
		
		label = new JLabel(s);
		

		
		if (onlyNumber) {
		    NumberFormat nf = NumberFormat.getNumberInstance ();
		    nf.setParseIntegerOnly (true);
		    field = new JFormattedTextField(nf);
			field.setText("3"); // a changer
			
		}
		else {
			field = new JTextField();
			field.setText("");
		}
		this.add(label,BorderLayout.WEST);
		this.add(field,BorderLayout.CENTER);
		
	}

	/**
	 * test de remplissage du champ de saisie
	 * @return renvoie true si le champ est rempli
	 */
	public boolean isFilled() {
		return field.getText().length()>0;
	}

	/**
	 * acc�s � la valeur du champ
	 * @return valeur du champ de saisie
	 */
	public String getText() {
		return field.getText();
	}
	
	/**
	 * modification de la valeur du champ
	 * @param s nouvelle valeur du champ de saisie
	 */
	public void setText(String s) {
		field.setText(s);
	}
	
}
